package com.jsaas.sys.service;

import java.util.ArrayList;
import java.util.List;

import com.jfinal.kit.Kv;
import com.jfinal.kit.Ret;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.SqlPara;
import com.jsaas.model.UserRole;
import com.jsaas.utils.MyUtils;

/**   
 * @Title: UserRoleService.java 
 * @Package com.jsaas.sys.service 
 * @Description: TODO(用户角色关系) 
 * @author tuozq 
 * @date 2017年12月20日 下午4:22:09 
 * @version V1.0   
 */
public class UserRoleService {

	public Ret save(String userId, String roleIds){
		deleteByUserId(userId);
		if(StrKit.notBlank(roleIds)){
			List<UserRole> addlist = new ArrayList<UserRole>();
			//重新生成用户角色关系
			String[] roles = roleIds.split(",");
			for (String roleId : roles) {
				UserRole userRole = new UserRole();
				userRole.setId(MyUtils.newId());
				userRole.setUserId(userId);
				userRole.setRoleId(roleId);
				addlist.add(userRole);
			}
			Db.batchSave(addlist, 200);
		}
		return Ret.ok();
	}
	
	/**
	 * 用户角色关系
	 * @param userId 用户id
	 */
	public void deleteByUserId(String userId){
		if(StrKit.notBlank(userId)){
			//用户角色关系
			SqlPara sqlPara = Db.getSqlPara("user.deleteUserRoleByUserId", Kv.by("userId", userId));
			Db.update(sqlPara);
		}
	}
	
	/**
	 * 用户角色关系
	 * @param roleId 用户id
	 */
	public void deleteByRoleId(String roleId){
		if(StrKit.notBlank(roleId)){
			//用户角色关系
			SqlPara sqlPara = Db.getSqlPara("user.deleteUserRoleByRoleId", Kv.by("roleId", roleId));
			Db.update(sqlPara);
		}
	}
	
	

}
